package com.xnew.resource.mapper;

import com.xnew.menu.bean.Menu;
import com.xnew.resource.bean.AuResource;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface AuResourceMapper {
    int deleteByPrimaryKey(String arsId);

    int insert(AuResource record);

    AuResource selectByPrimaryKey(String arsId);

    List<AuResource> selectAll();

    int updateByPrimaryKey(AuResource record);

	AuResource findPermissionById(String id);

	List<AuResource> selectRoleResource(@Param("arId") String arId);

	void deleteRoleResource(@Param("arId") String arId);

	/**
	 * @方法名：insertRoleResource
	 * @功能说明：分配角色可见资源
	 * @author yangyuan3
	 * @date  2019年9月10日 下午3:07:57
	 * @param arrId
	 * @param arId
	 * @param arsId
	 * @param auId
	 */
	void insertRoleResource(@Param("arrId") String arrId, @Param("arId") String arId, @Param("arsId") String arsId,
			@Param("auId") String auId);

	/**
	 * @方法名：selectRoleResourceTree
	 * @功能说明：角色资源树
	 * @author yangyuan3
	 * @date  2019年9月10日 下午4:05:13
	 * @param roleId
	 * @return
	 */
	List<AuResource> selectRoleResourceTree(@Param("roleId") String roleId);

	/**
	 * @方法名：selectAllotRoleResource
	 * @功能说明：反显已分配角色资源
	 * @author yangyuan3
	 * @date  2019年9月10日 下午5:41:33
	 * @return
	 */
	List<AuResource> selectAllotRoleResource(@Param("arId") String arId);

    void saveResourceByMenu(Menu menu) throws Exception;

	/**
	 * 修改菜单同步修改资源
	 * @param record
	 * @return
	 */
	int updateByMenu(Menu menu);
}